package models

import "time"

type SMSConfig struct {
	// 任务ID
	ID int `gorm:"column:id;PRIMARY_KEY;AUTO_INCREMENT" json:"id"`
	// 创建时间
	CreatedAt *time.Time `gorm:"column:created_at;type:timestamp" json:"created_at"`
	// 更新时间
	UpdatedAt *time.Time `gorm:"column:updated_at;type:timestamp" json:"updated_at"`
	SMSConfigCore
}

type SMSConfigCore struct {
	// 地域, 默认 cn-hangzhou
	Region          string `gorm:"column:region" json:"region"`
	AccessKeyID     string `gorm:"column:access_key_id" json:"access_key_id"`
	AccessKeySecret string `gorm:"column:access_key_secret" json:"access_key_secret"`
	// 发送协议，默认http
	Scheme string `gorm:"column:scheme" json:"scheme"`
	// 接收方电话
	Phone string `gorm:"column:phone" json:"phone"`
	// 短信签名 默认 "苗工厂管家"
	Sign string `gorm:"column:sign" json:"sign"`
	// 短信模板代码
	Template string `gorm:"column:template" json:"template"`
	// 是否启用: 0-否, 1-是
	IsActive int `gorm:"column:is_active" json:"is_active"`
	// 备注
	Remark string `gorm:"column:remark" json:"remark"`
}

type SMSConfigDelta struct {
	Region          interface{} `gorm:"column:region" json:"region" swaggertype:"string"`
	AccessKeyID     interface{} `gorm:"column:access_key_id" json:"access_key_id"`
	AccessKeySecret interface{} `gorm:"column:access_key_secret" json:"access_key_secret"`
	// 发送协议，默认http
	Scheme interface{} `gorm:"column:scheme" json:"scheme" swaggertype:"string"`
	// 接收方电话
	Phone interface{} `gorm:"column:phone" json:"phone" swaggertype:"string"`
	// 短信签名 默认 "苗工厂管家"
	Sign interface{} `gorm:"column:sign" json:"sign" swaggertype:"string"`
	// 短信模板代码
	Template interface{} `gorm:"column:template" json:"template" swaggertype:"string"`
	// 是否启用: 0-否, 1-是
	IsActive interface{} `gorm:"column:is_active" json:"is_active" swaggertype:"integer"`
	// 备注
	Remark interface{} `gorm:"column:remark" json:"remark" swaggertype:"string"`
}

func (SMSConfig) TableName() string {
	return "sms_config"
}
